import request from "@/utils/request";

const BASE_URL = "/manage/autoReply";

const ReplyAPI = {
  /**
   * 获取信息
   * @returns 权限信息
   */
  getInfo(queryParams: object) {
    return request<any, ReplyInfo>({
      url: `${BASE_URL}/info`,
      method: "get",
      params: queryParams,
    });
  },

  /**
   * 获取分页列表
   *
   * @param queryParams 查询参数
   */
  getPage(queryParams: object) {
    return request<any, ReplyInfoListVO>({
      url: `${BASE_URL}/page`,
      method: "get",
      params: queryParams,
    });
  },

  /**
   * 添加
   *
   * @param data 表单数据
   */
  create(data: ReplyInfo) {
    return request({
      url: `${BASE_URL}/create`,
      method: "post",
      data: data,
    });
  },

  /**
   * 修改
   *
   * @param id ID
   * @param data 表单数据
   */
  update(data: ReplyInfo) {
    return request({
      url: `${BASE_URL}/update`,
      method: "post",
      data: data,
    });
  },
  /**
   * 批量删除，多个以英文逗号(,)分割
   *
   * @param ids ID字符串，多个以英文逗号(,)分割
   */
  deleteByIds(data: object) {
    return request({
      url: `${BASE_URL}/delete`,
      method: "post",
      data: data,
    });
  },
};

export default ReplyAPI;

/** 部门查询参数 */
export interface ReplyPageQuery extends PageQuery {
  /** 搜索关键字 */
  keywords?: string;
  /** 状态 */
  status?: string;
}

/**
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `created_at` bigint DEFAULT NULL COMMENT '创建时间戳',
  `updated_at` bigint DEFAULT NULL COMMENT '更新时间戳',
  `deleted_at` datetime(3) DEFAULT NULL,
  `admin_id` bigint unsigned DEFAULT '0' COMMENT '客服id',
  `msg_type` varchar(191) COLLATE utf8mb4_general_ci DEFAULT 'admin' COMMENT '消息类型 0欢迎语 1自动回复 2关键词回复',
  `content` longtext COLLATE utf8mb4_general_ci COMMENT '消息内容',
  `type` varchar(191) COLLATE utf8mb4_general_ci DEFAULT 'text' COMMENT '消息类型 text 文本消息,  image 图片消息, video 视频消息, audio 音频消息',
  `status` tinyint unsigned DEFAULT '0' COMMENT '消息状态 1启用 2禁用',
 */
/** 部门类型 */
export interface ReplyInfo {
  /** ID */
  id?: string;
  /** 管理id*/
  admin_id: number;
  /** 消息类型 */
  msg_type: number;
  /** 消息标题 */
  title: string;
  /** 消息内容 */
  content: string;
  /** 消息类型 text 文本消息,  image 图片消息, video 视频消息, audio 音频消息 */
  type: string;
  /** 状态 */
  status: number;
  /** 排序 */
  sort: number;
  /** 创建时间 */
  created_at: string;
}

export interface ReplyInfoList extends ReplyInfo {
  /** 更新时间 */
  updated_at: string;
}

export interface ReplyInfoListVO {
  /** 父级ID */
  total: number;
  list: ReplyInfoList[];
}
